//Facade（外观模式）
//Facade模式提供了一个简化接口，使得客户端更容易使用复杂系统。在Go语言中，可以使用结构体和函数来实现外观模式。

package facade

type SubsystemA struct{}

func (s *SubsystemA) MethodA() {}

type SubsystemB struct{}

func (s *SubsystemB) MethodB() {}

type Facade struct {
	subsystemA *SubsystemA
	subsystemB *SubsystemB
}

func (f *Facade) Method() {
	f.subsystemA.MethodA()
	f.subsystemB.MethodB()
}
